package br.com.cast.paises;

import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.spring.injection.annot.SpringBean;

import br.com.cast.EstudoCasoDropDown.Principal;
import br.com.cast.componente.ComponentUtil;
import br.com.cast.modelo.Pais;
import br.com.cast.services.ServicePais;

public class FormPais extends Form<Pais> {
	
	@SpringBean
	private ServicePais servicePais;
	
	public FormPais(String id) {
		super(id);

		getNome();
		getArea();
		getContinente();
		getPopulacao();
		getPib();
		
	}

	private void getPib() {
		TextField<Double> pib = new TextField<>("pib");
		pib.setRequired(true);
		 add(pib);
	}

	private void getPopulacao() {
		TextField<Double> populacao = new TextField<>("populacao");
		populacao.setRequired(true);
		add(populacao);
	}

	private void getContinente() {
		TextField<String> continente = new TextField<>("continente");
		continente.setRequired(true);
		add(continente);
	}

	private void getArea() {
		TextField<Double> area = new TextField<>("area");
		area.setRequired(true);
		add(area);
	}

	private void getNome() {
		TextField<String> nome = new TextField<>("nome");
		nome.setRequired(true);
		add(nome);
	}
	
	@Override
	protected void onSubmit() {
		Pais p = (Pais)getDefaultModelObject();
		servicePais.salvarPais(p);
		Principal template = redirecionaListar();
		template.success("Registro Inserido com Sucesso!");
	}
	
	private Principal redirecionaListar(){
		Principal template = ComponentUtil.getTemplate(this);
		template.replace(new ListarPaises(Principal.ID_CONTEUDO));
		return template;
	}
}


